草庐IT

C++ DLL 链接 Unresolved external

全部标签

c++ - 如何在不安装 Windows SDK 的情况下在客户端 PC 上使用已编译的 DLL?

我构建了一个用于C#Windows应用程序的C++DLL,该DLL链接到一些WindowsAPI。但是,当我在干净的Windows7上运行它时出现错误,它说“System.DllNotFoundException:无法加载DLL”。如果我安装WindowsSDK,那么一切都很好。谁能告诉我如何在不安装WindowsSDK的情况下进行修复? 最佳答案 “缺少dll”的第一个嫌疑人是C++运行时,它通常不是Windows操作系统安装的一部分。如果您只在干净的Windows7机器上安装C++运行时(针对您正在使用的VisualStudio

windows - 如何在cmd中链接START命令?

我的目标是能够在单个cmd行中链接START命令。假设我有一个cmd窗口(我们称之为启动器)。我想用一行启动一个新的cmd窗口(我们称之为cmd1),它将回显1并启动另一个cmd窗口(我们称之为cmd2),它将回显2并等待(暂停),在cmd1调用cmd2(没有等待它完成)它也会等待(暂停),在启动器调用cmd1之后(不等待它完成)它会关闭(或什么都不做)最后我应该得到2个cmd窗口(cmd1打印“1”,cmd2打印2)并且都在等待ENTER。运行方案:---Starter+---Startcmd1(Non-blocking)|+---Startcmd2(Non-blocking)||+

c++ - 查明系统中是否存在 DLL 的最佳方法

我目前正在使用LoadLibrary和FreeLibrary函数来检查运行我的应用程序的系统中是否存在dll(mfplat.dll)。我的要求只是检查系统中是否存在dll,我不需要调用dll中的任何函数。有没有更快的方法来检查相同的? 最佳答案 您可以使用LoadLibraryEx()并为dwFlags参数设置LOAD_LIBRARY_AS_DATAFILE位。来自MSDN:Ifthisvalueisused,thesystemmapsthefileintothecallingprocess'svirtualaddressspace

windows - 如何在 cmd 或 PowerShell 中跟踪符号/软链接(soft link)?

我的搜索只告诉我如何在cmd中使用mklink创建符号链接(symboliclink)。我看到有些东西说要使用readlink,但是PowerShell和cmd不知道readlink是什么,cd显然不行.那么我该如何关注一个呢? 最佳答案 为避免您的问题引起混淆:Windowsshortcutfiles(*.lnkfiles),这是Windows(GUI)shell的一个特征,不同于symboliclinks(symlinks),它们是(NTFS)文件系统的功能。快捷方式文件-您感兴趣的-存储它们指向的文件或文件夹的路径在文件中,这

.net - 如何在 PowerShell 中使用 HTML Tidy .NET DLL 包装器?

我正在尝试使用HTMLTidy.NETwrapper在PowerShell2.0中。这是一个使用C#的工作示例(包装器分发中包含TestIt.cs):usingTidy;Documenttdoc=newDocument();我在PowerShell中这样做:[Reflection.Assembly]::LoadFile("C:\Users\e-t172\Desktop\Tidy.NET\Tidy.dll")New-ObjectTidy.Document我收到以下错误:New-Object:Constructornotfound.Cannotfindanappropriateconstr

c# - 帮助 : Call C# winforms dll from VB6 project?

我有一个VB6项目(windows应用程序),我必须在C#.net中的现有VB6项目中重新开发一个模块。我用C#.net开发的模块应该是一个dll,应该包含一些窗体。我能够从我的vb6项目中成功调用c#控制台应用程序dll,但是当我尝试从我的VB6项目中调用带有winforms的C#类库时,我遇到了问题。这是我为概念验证所做的工作-这是我的C#.net类库项目中的一个类文件。namespaceTestDll{publicinterfaceIClass1{voidDisplayMessage();}publicclassClass1:IClass1{voidIClass1.Display

c - 将 User32 与 gcc 链接起来

我有一个C程序,它有一个在windows.h中定义的函数调用(我已经包含了),但是,当我尝试用gcc编译它时>,我得到错误:warning:implicitdeclarationoffunction`LockWorkStation'我查看了MSDN文档,发现此函数是User32库文件,我想知道如何将它链接到我的文件。 最佳答案 LockWorkstation可在Windows2000及更高版本上使用。您必须声明您的目标Windows版本。让它看起来像这样:#define_WIN32_WINNT0x500#include

windows - LuaSocket 套接字/core.dll 需要的位置?

当我使用localsocket=require("socket.core")它工作正常,dll位于“dir/socket/core.dll”但是当我将dll移动到say时“dir/folder/core.dll”并使用localsocket=require("folder.core.")它返回已找到,但无法在folder.core中找到特定模块。我如何在socket.core要求之外使用Luasocket?谢谢! 最佳答案 如果您想要require("socket.core"),共享库(dll)必须有一个名为luaopen_sock

windows - 如何在 Windows 进程 (XP/Windows 7) 中找到已加载 DLL 的实际路径

我们为其他应用程序创建一个DLL来加载和使用应用程序中的一些功能。DLL依赖于它从中加载的实际路径。/bin/||----/configdir/configfile|----/lib/它需要product_home位置来读取配置文件和加载jar文件等我的Windows应用程序预加载了一个特殊的DLL。我需要在此过程中找到加载的DLL的实际路径,并使用它来设置“HOME”变量。这将在其余处理中使用。当机器上存在多个版本的dll时,有时使用外部设置的环境变量会失败。在我看来,只要DLL可以获得实际加载的位置,它就可以找出自己的“product_home”。DLL本文GetYourDLL's

c++ - 如何追踪使用过的DLL(是不是所谓的DLL hell ?)

这应该是一个简单的问题,但我确实被它绊倒了。环境是Windows7上的VisualStudio2008,机器上也安装了vs2010、vs2012。(我必须安装几个VS,因为不同的项目使用不同的版本)我有一个简单的应用程序使用了一些第三个DLL。1).当应用程序从Vs启动时,就可以了。2).当我将DLL复制到执行文件并从资源管理器启动它时,应用程序在C++库上崩溃类似于:程序:xxx.exe文件:c:\programfiles\microsoftvisualstudio9.0\vc\include\vector线路:779表达式:vector下标超出范围3).我打开命令行并在PATH环境